System and method for prioritization of retransmission of protocol data units to assist radio-link-control retransmission

ABSTRACT

A medium access control (MAC) architecture reduces transmission latency for data block retransmissions. A plurality of data blocks are received and temporarily stored in a first memory (e.g., queue, buffer). The plurality of data blocks are then transmitted. A determination is made as to whether each of the transmitted data blocks was received successfully or needs to be retransmitted because the data block was not received successfully. Each of the transmitted data blocks that needs to be retransmitted is marked and temporarily stored in a second memory having a higher priority than the first memory. The marked data blocks are retransmitted before data blocks stored in the first memory location.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/434,615, filed May 9, 2003, which claims the benefit of 60/379,829,filed May 10, 2002, which is incorporated by reference as if fully setforth.

FIELD OF THE INVENTION

The present invention relates to the field of wireless communications.More specifically, the present invention relates to a system and methodfor prioritizing the retransmission of protocol data units (PDUs) toassist radio link control (RLC) layer retransmission.

BACKGROUND

In third generation (3G) cellular systems for Frequency Division Duplex(FDD) and Time Division Duplex (TDD), there are retransmissionmechanisms in the Acknowledgement Mode of the Radio Link Control (RLC)layer to achieve high reliability of end-to-end data transmissions. TheRLC layer is a peer entity in both the Radio Network Controller (RNC)and the User Equipment (UE).

A block diagram of a UMTS Terrestrial Radio Access Network (UTRAN)MAC-hs layer architecture is illustrated in FIG. 1, and a block diagramof the user equipment (UE) MAC hs architecture is shown in FIG. 2. Thearchitecture shown in FIGS. 1 and 2 is described in detail co-pendingU.S. patent application Ser. No. 10/270,822 filed on Oct. 15, 2002 whichis assigned to the present assignee. The UTRAN MAC-hs 30 shown in FIG. 1comprises a transport format resource indicator (TFRI) selector 31, ascheduling and prioritization entity 32, a plurality of Hybrid AutomaticRepeat (H-ARQ) processors 33 a, 33 b, a flow controller 34 and apriority class and transmission sequence number (TSN) setting entity 35.

The UE MAC-hs 40 comprises an H-ARQ processor 41. As will be explainedwith reference to both FIGS. 1 and 2, the H-ARQ processors 33 a, 33 b inthe UTRAN MAC-hs 30 and the H-ARQ processor 41 in the UE MAC-hs 40 worktogether to process blocks of data.

The H-ARQ processors 33 a, 33 b in the UTRAN MAC-hs 30 handle all of thetasks that are required for the H-ARQ process to generate transmissionsand retransmissions for any transmission that is in error. The H-ARQprocessor 41 in the UE MAC-hs 40 is responsible for generating anacknowledgement (ACK) to indicate a successful transmission, and forgenerating a negative acknowledgement (NACK) to indicate a failedtransmission. The H-ARQ processors 33 a, 33 b and 41 process sequentialdata streams for each user data flow.

As will be described in further detail hereinafter, blocks of datareceived on each user data flow are assigned to H-ARQ processors 33 a,33 b. Each H-ARQ processor 33 a, 33 b initiates a transmission, and inthe case of an error, the H-ARQ processor 41 requests a retransmission.On subsequent transmissions, the modulation and coding rate may bechanged in order to ensure a successful transmission. The data block tobe retransmitted and any new transmissions to the UE are provided by thescheduling and prioritization entity 32 to the H-ARQ entities 33 a, 33b.

The scheduling and prioritization entity 32 functions as radio resourcemanager and determines transmission latency in order to support therequired QoS. Based on the outputs of the H-ARQ processors 33 a, 33 band the priority of a new data block being transmitted, the schedulingand prioritization entity 32 forwards the data block to the TFRIselector 31.

The TFRI selector 31, coupled to the scheduling and prioritizationentity 32, receives the data block to be transmitted and selects anappropriate dynamic transport format for the data block to betransmitted. With respect to H-ARQ transmissions and retransmissions,the TFRI selector 31 determines modulation and coding.

It is highly desirable for the retransmitted data blocks to arrive atthe RLC entity of the receiving side (i.e., the UE) as soon as possiblefor several reasons. First, the missed data block will preventsubsequent data blocks from being forwarded to higher layers, due to therequirement of in-sequence delivery. Second, the buffer of the UE needsto be sized large enough to accommodate the latency of retransmissionswhile still maintaining effective data rates. The longer the latency is,the larger the UE buffer size has to be to allow for the UE to bufferboth the data blocks that are held up and continuous data receptionsuntil the correct sequence data block is forwarded to higher layers. Thelarger buffer size results in increased hardware costs for UEs. This isvery undesirable.

Referring to FIG. 3, a simplified flow diagram of the data flow betweena Node B (shown at the bottom of FIG. 3) and a UE (shown at the top ofFIG. 3) is shown. PDUs from higher level processing are scheduled andmay be multiplexed into one data block. A data block can only containPDUs of higher layers of the same priority. A unique TSN is assigned toeach data block by the scheduler. The higher layers may provide aplurality of streams of different priorities of PDUs, each priorityhaving a sequence of TSNs. The scheduler then dispatches the data blocksto the plurality of H-ARQ processors P1 _(B)-P5 _(B). Each H-ARQprocessor P1 _(B)-P5 _(B) is responsible for processing a single datablock at a time. For example, as shown in FIG. 3, the Priority 1 PDUscomprise a sequence illustrated as B1 ₁-B1 _(N). Likewise, the Priority2 PDUs are sequenced from B2 ₁-B2 _(N) and the Priority 3 PDUs aresequenced from B3 ₁-B3 _(N). These PDUs are scheduled (and may bemultiplexed) and affixed a TSN by the common scheduler. For purposes ofdescribing the invention, it is assumed that one PDU equals one datablock. After a data block is scheduled to be processed by a particularprocessor P1 _(B)-P5 _(B), each data block is associated with aprocessor identifier, which identifies the processor P1 _(B)-P5 _(B)that processes the data block.

The data blocks are then input into the scheduled Node B H-ARQprocessors P1 _(B)-P5 _(B) which receive and process each data block.Each Node B H-ARQ processor P1 _(B)-P5 _(B) corresponds to an H-ARQprocessor P1 _(UE)-P5 _(UE) within the UE. Accordingly, the first H-ARQprocessor P1 _(B) in the Node B communicates with the first H-ARQprocessor P1 _(UE) in the UE. Likewise, the second H-ARQ processor P2_(B) in the Node B communicates with the second H-ARQ processor P2 _(UE)in the UE, and so on for the remaining H-ARQ processors P3 _(B)-P5 _(B)in the Node B and their counterpart H-ARQ processors P3 _(UE)-P5 _(UE)respectively within the UE. The H-ARQ processes are timely multiplexedonto the air interface and there is only one transmission of an H-ARQ onthe air interface at one time.

For example, taking the first pair of communicating H-ARQ processors P1_(B) and P1 _(UE), the H-ARQ processor P1 _(B) processes a data block,for example B1 ₁, and forwards it for multiplexing and transmitting itover the air interface. When this data block B1 ₁ is received by thefirst H-ARQ processor P1 _(UE), the processor P1 _(UE) determineswhether or not it was received without error. If the data block B1 ₁ wasreceived without error, the first H-ARQ processor P1 _(UE) transmits anACK to indicate to the transmitting H-ARQ processor P1 _(B) that it hasbeen successfully received. On the contrary, if there is an error in thereceived data block B1 ₁, the receiving H-ARQ processor P1 _(UE)transmits a NACK to the transmitting H-ARQ processor P1 _(B). Thisprocess continues until the transmitting processor P1 _(B) receives anACK for the data block B1 ₁. Once an ACK is received, that processor P1_(B) is “released” for processing another data block. The scheduler willassign the processor P1 _(B) another data block if available, and canchoose to retransmit or start a new transmission at any time.

Once the receiving H-ARQ processors P1 _(UE)-P5 _(UE) process each datablock, they are forwarded to the reordering buffers R₁, R₂, R₃ based ontheir priority; one reordering buffer for each priority level of data.For example, Priority 1 data blocks B1 ₁-B1 _(N) will be received andreordered in the Priority 1 reordering buffer R₁; Priority 2 data blocksB2 ₁-B2 _(N) will be received and reordered in the Priority 2 reorderingbuffer R₂; and the Priority 3 data blocks B3 ₁-B3 _(N) will be receivedand reordered by the Priority 3 reordering buffer R₃.

Due to the pre-processing of the data blocks by the receiving H-ARQprocessors P1 _(UE)-P5 _(UE) and the ACK/NACK acknowledgement procedure,the data blocks are often received in an order that is not sequentialwith respect to their TSNs. The reordering buffers R₁-R₃ receive theout-of-sequence data blocks and attempt to reorder the data blocks in asequential manner prior to forwarding onto the RLC layer. For example,the Priority 1 reordering buffer R₁ receives and reorders the first fourPriority 1 data blocks B1 ₁-B1 ₄. As the data blocks are received andreordered, they will be passed to the RLC layer.

On the receiving side, the UE MAC-hs, (which has been graphicallyillustrated as MAC-hs control), reads the H-ARQ processor ID, whether itis sent on a control channel such as the HS-SCCH or whether the datablock has been tagged, to determine which H-ARQ processor P1 _(UE)-P5_(UE) has been used. If the UE receives another data block to beprocessed by the same H-ARQ processor P1 _(UE)-P5 _(UE), the UE knowsthat that particular H-ARQ processor P1 _(UE)-P5 _(UE) has been releasedregardless of whether or not the previous data block processed by thatH-ARQ processor P1 _(UE)-P5 _(UE) has been successfully received or not.

FIG. 4 is an example of a prior art system including an RNC, a Node B, aUE and their associated buffers. This example assumes that the UE is thereceiving entity and the Node B is the transmitting entity. In thisprior art system, a PDU with SN=3 is not received successfully by theUE. Therefore, the RLC in the UE requests its peer RLC layer in the RNCfor a retransmission. Meanwhile, the PDUs with SNs=6-9 are buffered inthe Node B, and PDUs with SNs=4 and 5 are buffered in the UE. It shouldbe noted that although FIG. 4 shows only several PDUs being buffered, inreality many more PDUs (such as 100 or more) and PDUs from other RLCentities may be buffered.

As shown in FIG. 5, if a retransmission of the PDU with SN=3 isrequired, it must wait at the end of the queue in the Node B buffer, andwill be transmitted only after the PDUs with SNs=6-9 are transmitted.The PDUs in the UE cannot be forwarded to the upper layers until allPDUs are received in sequence.

In this case, the PDU with SN=3 stalls the forwarding of subsequent PDUsto higher layers, (i.e. SNs=4-9), assuming all the PDUs are transmittedsuccessfully. Again, it should be noted that this example only reflects11 PDUs, whereas in normal operation hundreds of PDUs maybe scheduled inadvance of retransmitted data PDUs, which further aggravatestransmission latency and data buffering issues.

It would be desirable to have a system and method whereby theretransmitted data can avoid the delays due to congestion in thetransmission buffers.

SUMMARY

The present invention is a system and method for transferring data in awireless communication system. A plurality of data blocks are receivedand temporarily stored in a first memory. The plurality of data blocksare then transmitted. A determination is then made as to whether each ofthe transmitted data blocks was received successfully or needs to beretransmitted because the data block was not received successfully. Eachof the transmitted data blocks that needs to be retransmitted is markedand stored in a second memory having a higher priority than the firstmemory. The marked data blocks stored in the second memory aretransmitted before transmitting data blocks stored in the first memory.

Each marked data block may include a common channel priority indicator(CmCH-Pi). The CmCH-Pi of the marked data block is read and used todetermine which of a plurality of memories to place the marked datablock in based on the CmCH-Pi.

In accordance with one preferred embodiment of the present invention, awireless communication system for transferring data includes a UE, aNode B in communication with the UE and a radio network controller (RNC)in communication with the Node B and the UE. The RNC transmits aplurality of data blocks to the UE via the Node B. The UE sends a statusreport to the RNC. The report indicates whether each of the transmitteddata blocks was received successfully by the UE or needs to beretransmitted because the data block was not received successfully bythe UE. The RNC marks each of the data blocks that needs to beretransmitted and sends the marked data blocks to the Node B. The Node Breceives, temporarily stores and prioritizes transmission of the markeddata blocks over other data blocks previously received and stored inNode B. The Node B transmits the marked data blocks to the UE before theother data blocks.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding of the invention may be had from thefollowing description, given by way of example and to be understood inconjunction with the accompanying drawings wherein:

FIG. 1 is a UTRAN MAC-hs.

FIG. 2 is a prior art UE MAC-hs.

FIG. 3 is a block diagram of the data flow between a Node B and a UE.

FIG. 4 is a diagram of the RLC layer exhibiting a missed PDUtransmission.

FIG. 5 is a diagram of retransmission by the RLC layer of the missed PDUtransmission.

FIG. 6 is a signal diagram of a method of prioritizing retransmissionsin accordance with the present invention.

FIG. 7 is a block diagram of the data flow between a Node B and a UE,whereby retransmissions are assigned to a higher priority queue.

FIG. 8 is a block diagram of the data flow of a DSCH transmissionscheduling PDUs with CmCH-Pi indications.

FIGS. 9 and 10 are diagrams of retransmission by the RLC layer of amissed PDU transmission in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments will be described with reference to thedrawing figures where like numerals represent like elements throughout.

In describing the present invention, reference may be made to theterminology “buffer” and “memory.” It is intended that these terms areequivalent, and are used to indicate a plurality of data blocks or PDUsin a successive queue.

In order to reduce the latency of an RLC layer retransmission, thepresent invention prioritizes a retransmission of a PDU over asubsequent PDU in the buffer of an intermediate node, such as a Node Bfor example.

In the downlink direction (data transmissions from serving RNC (SRNC) toUE), one source of the latency of the retransmissions is generated inapplications that buffer in the UTRAN outside of the SRNC. For example,buffering for an application could occur in the Controlling RNC (CRNC)or in the Node B. In several applications, the RNC RLC sends the PDU tothe MAC-d in the RNC which creates an MAC-d PDU which is sent to theCRNC and then Node B (note that in the case that a UE has not moved outof the cell coverage of the SRNC, the CRNC will be the same RNC, andtherefore, any messages sent are internal. When the UE has moved out ofcell coverage of the SRNC and the new CRNC is known as the Drift RNC(DRNC). For simplification, in both cases this RNC will be referred toas a CRNC).

Since the MAC-d PDU contains exactly 1 RLC PDU (plus other potential MACinformation), a MAC-d PDU can be considered equivalent to a RLC PDU.Although, discussion of PDUs in the CRNC or the Node B in the presentapplication refers to MAC-d PDUs (not RLC PDUs), they can be consideredequivalent for the purpose of the present invention and the term PDUwill be used hereinafter to refer to both.

To allow for continuous data flow, the PDUs from the RNC RLC are usuallyqueued in buffers of the CRNC or Node B for a while, before they aretransmitted to the UE and thus the peer RLC. As will be described indetail hereinafter, the presently inventive method of retransmittingdata at a higher priority bypasses the buffering/queuing of data in theUTRAN.

One embodiment of the present invention is the RLC retransmissions fromthe Radio Network Controller (RNC) to the User Equipment (UE) of asystem employing High Speed Downlink Packet Access (HSDPA). A method 100for reducing the latency of retransmissions in accordance with thepresent invention is depicted in FIG. 6. FIG. 6 shows the communicationsbetween an RNC 102, a Node B 104 and a UE 106.

The RLC layer in the UE 106 generates a Status Report PDU (step 108)which indicates the status of received, (i.e., successfullytransmitted), or missing PDUs, (i.e., unsuccessfully transmitted). Thisstatus report PDU is transmitted (step 110) to the RNC 102. Once the RLClayer in the RNC 102 receives the Status Report PDU from its peer entityin the UE 106, the RNC 102 prepares the retransmission of the missed PDU(step 112).

The present invention implements a method to enable the Node B todistinguish the retransmitted PDU from other PDUs. In a firstembodiment, the RNC 102 marks the retransmitted PDU by using a field ofbits on its Frame Protocol (FP) overheads. The retransmitted PDUincludes a CmCH-Pi which is updated (or increased) every time the PDU issent (step 114) from the RNC 102 to the Node B 104. This permits theNode B 104 to track the number of times the PDU is sent and, therefore,identify the proper queue in which to place the PDU. Preferably, theCmCH-Pi is typically set and updated at the RNC 102. However, thisfunction may also be performed at the Node B 104. The Node B 104 readsthe CmCH-Pi and determines the proper priority queue for the PDU (steps116). The Node B 104 transmission scheduler services the higher priorityqueues in advance of lower priority queues. The Node B 104 places thePDU to be retransmitted in a buffer having a higher priority than itoriginally had when the PDU was originally transmitted as a result ofthe setting of the CmCH-Pi by the RNC 102.

The PDU is then retransmitted (step 118) in a buffer (i.e., memory)having a higher priority than the priority of the original transmission.Other transmissions for this UE may be buffered in Node B 104 lowerpriority transmission queue at the time of the PDU retransmission. Thesetting of the increased CmCH-Pi for retransmitted PDUs results intransmission scheduling in advance of other PDUs previously received andbuffered in Node B 104.

Referring to FIG. 7, retransmissions are assigned to a higher priorityqueue so that they supercede transmission of other data blocks whichoriginate from the same “original” transmission buffer. Once thereceiving H-ARQ processors P1 _(UE)-P5 _(UE) process each data block,they are forwarded to the reordering buffers R₁, R₂, R₃ based on theirpriority; one reordering buffer for each priority level of data. Forexample, reordering buffer R₂ reorders data blocks B2 ₁, B2 ₂ and B2 ₄.Reordering buffer R₃ reorders data blocks B3 ₃, B3 ₄ and B3 ₆. A datablock (“X”) is missing between the data blocks B2 ₂ and B2 ₄. Anadditional data block (“X”) is missing between the data blocks B3 ₄ andB3 ₆. Thus, expected data blocks B2 ₃ and B3 ₅ are not received, e.g.,due to a NACK message being misinterpreted as being an ACK message.

The missing data blocks are then retransmitted. Normally, the data blockB2 ₃ would have been placed in the Priority 2 transmission buffer.However, since the data block B2 ₃ was missed and had to beretransmitted, the data block B2 ₃ is placed in a higher prioritytransmission buffer, (in this case the Priority 1 transmission buffer),and thus is sent earlier than if it were placed in the Priority 2 or 3transmission buffers. Likewise, the data block B3 ₅ would have normallybeen placed in the Priority 3 transmission buffer. However, since thedata block B3 ₅ was missed and had to be retransmitted, the data blockB3 ₅ is placed in either the Priority 1 or Priority 2 transmissionbuffer so that it is transmitted earlier than if it had been placed inthe Priority 3 transmission buffer.

Upon reception of PDUs in the Node B, the CmCH-PI is used to determinethe priority queue B1 n-B3 n. The scheduler services the higher priorityqueues first and assign transmissions to transmitting H-ARQ processorsP1 _(B)-P5 _(B), Upon successful transmission to the UE, the receivingH-ARQ processors P1 _(UE)-P5 _(UE) forward the retransmitted PDUs to theRLC layer.

This procedure may also be applied for a DSCH system, except that theintermediate node is the CRNC instead of the Node B. Referring to FIG.8, PDUs 805 with CmCH-Pi indications are given priority by aprioritization entity 810 and are scheduled for transmission by theMAC-sh in the CRNC. The MAC-sh maintains multiple priority queues 815A,815B, and a DSCH transmission scheduler 820 determines which PDU 805 isto be transmitted based on the priority of that data. Therefore, bysetting increased CmCH-Pi for DSCH retransmissions, these transmissionswill be serviced in advance of other data for the UE. This is similar tothe HS-DSCH case where the Node B MAC-hs entity schedules transmissions.

Referring to FIG. 9, a system is shown in accordance with the presentinvention implementing the prioritization method of FIG. 6. After theRLC layer in the UE transmits a status report PDU to the RLC layer inthe RNC indicating that the PDU with SN=3 has not been successfullyreceived, the RNC sends a retransmission of the PDU with SN=3. The PDUwill be prioritized over other PDUs in the buffer of the intermediatenode by placement within a higher priority buffer. It should be notedthat although only 11 PDUs are shown, in actuality, there may behundreds of queued PDUs.

The benefits of the present invention can be seen with reference to FIG.10, which depicts the result of the prioritization function in thereceiving buffer. The retransmitted PDU with SN=3 arrives at thereceiving buffer, and the in-sequence PDUs with SN=3 to 5 can beforwarded to the higher layer much more quickly than the prior artscenario depicted in FIG. 5.

While the present invention has been described in terms of the preferredembodiment, other variations which are within the scope of the inventionas outlined in the claims below will be apparent to those skilled in theart.

1. A method for wireless communication comprising: storing a protocoldata unit (PDU) in a first memory buffer for transmission; transmittingthe PDU; receiving an acknowledgement that the PDU was eithersuccessfully received or unsuccessfully received; wherein on a conditionthat the PDU was unsuccessfully received, marking the PDU with anindication of the number of times that the PDU was unsuccessfullyreceived; and storing the unsuccessfully received and marked PDU in asecond memory buffer for retransmission based on the marking such thatthe second memory buffer has a higher transmission priority than thefirst memory buffer so that the PDUs in the second memory buffer aretransmitted in advance of PDUs stored in the first memory buffer.
 2. Themethod of claim 1 wherein the PDU is transmitted over a high speeddownlink shared channel.
 3. The method of claim 1 further comprisingassigning a unique transmission sequence number (TSN) to a PDU.
 4. Themethod of claim 1 wherein a common channel priority indicator (CmCH-Pi)is used to indicate of the number of times the PDU was determined not tohave been successfully received, the method further comprising:transmitting a PDU with a higher number of times not received beforetransmitting a PDU with a lower number of times not received.
 5. Themethod of claim 1 performed by a Node B.
 6. A wireless communicationapparatus comprising: a transmitter configured to transmit a data blocka number of times; the transmitter configured to store the data block ina first memory queue for a first transmission thereof; the transmitterconfigured to determine whether the data block was received successfullyor was not received successfully; the transmitter configured to mark thedata block for retransmission, with an indication of the number of timesa determination of non-successful receipt occurred for the data block,on a condition that the data block was not received successfully; andthe transmitter configured to store the data block for retransmissionbased on the marking indication in a second memory queue that has ahigher transmission priority than the first memory queue such that thedata block is transmitted in advance of data blocks stored in the firstmemory queue.
 7. The apparatus of claim 6 wherein the transmitter isconfigured to transmit the data block over a high speed downlink sharedchannel.
 8. The apparatus of claim 6 wherein the transmitter isconfigured to store the data block as a plurality of multiplexedprotocol data units (PDUs).
 9. The apparatus of claim 6 wherein thetransmitter is configured to store the data block as a protocol dataunit (PDU).
 10. The apparatus of claim 6 wherein the transmitter isconfigured to assign a unique transmission sequence number (TSN) to thedata block.
 11. The apparatus of claim 6 wherein a common channelpriority indicator (CmCH-Pi) is used to indicate of the number of timesthe data block was determined not to have been successfully transmittedand wherein the transmitter is configured to select the second memoryqueue based on reading the CmCH-Pi of the marked data block from among aplurality of memory queues that have higher transmission priority thanthe first memory queue.
 12. The apparatus of claim 6 configured as aNode B.